﻿/***********************************************************************
 * <copyright file="SlideDescription.cs" company="VidaGIS">
 * -->    Copyright (C) statement. All right reserved
 * </copyright>
 * 
 * Created:   Hoang Bich Son 
 * Email:    sonhb@vidagis.com or bichson2002@gmail.com
 * Website:
 * Create Date: Tuesday, November 25, 2014
 * Usage: 
 * 
 * RevisionHistory: 
 * Date         Author               Description 
 * 
 * ************************************************************************/

using System;
using BusinessObjects;
using BusinessObjects.BusinessRules;

namespace BusinessCMS
{
    /// <summary>
    /// SlideDescription class
    /// </summary>
    public class SlideDescription : BusinessObject
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="SlideDescription"/> class.
        /// </summary>
        public SlideDescription()
        {
            AddRule(new ValidateId("SlideId"));
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="SlideDescription"/> class.
        /// </summary>
        /// <param name="slideId">The slide identifier.</param>
        /// <param name="languageId">The language identifier.</param>
        /// <param name="slideName">Name of the slide.</param>
        /// <param name="description">The description.</param>
        /// <param name="photoPath">The photo path.</param>
        /// <param name="modifiedDate">The modified date.</param>
        public SlideDescription(long slideId, short languageId, string slideName, string description, string photoPath, DateTime? modifiedDate)
            : this()
        {

            SlideId = slideId;
            LanguageId = languageId;
            SlideName = slideName;
            Description = description;
            PhotoPath = photoPath;
            ModifiedDate = modifiedDate;
        }
        /// <summary>
        /// Version number. Used in optimistic concurrency decisions.
        /// </summary>
        /// <value>
        /// The slide.
        /// </value>
        //public string Version { get; set; }

        public Slide Slide { get; set; }

        /// <summary>
        /// Gets or sets the slide identifier.
        /// </summary>
        /// <value>
        /// The slide identifier.
        /// </value>
        public long SlideId { get; set; }

        /// <summary>
        /// Gets or sets the language identifier.
        /// </summary>
        /// <value>
        /// The language identifier.
        /// </value>
        public short LanguageId { get; set; }

        /// <summary>
        /// Gets or sets the name of the slide.
        /// </summary>
        /// <value>
        /// The name of the slide.
        /// </value>
        public string SlideName { get; set; }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>
        /// The description.
        /// </value>
        public string Description { get; set; }

        /// <summary>
        /// Gets or sets the photo path.
        /// </summary>
        /// <value>
        /// The photo path.
        /// </value>
        public string PhotoPath { get; set; }

        /// <summary>
        /// Gets or sets the modified date.
        /// </summary>
        /// <value>
        /// The modified date.
        /// </value>
        public DateTime? ModifiedDate { get; set; }
    }
}
